Select drag and drop operations on video thumbnails across clip boundaries

ABSTRACT

A computer-implemented method includes displaying, within a user interface in a digital media system, a media pane, and a project pane, displaying, within the media pane, a thumbnail group representing a media item, the thumbnail group comprising one or more thumbnails, enabling a user to select, from the thumbnail group, a segment of the media item, and enabling a user to transfer the selected segment to the project pane.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation (and claims the benefit of priorityunder 35 USC 120) of U.S. application Ser. No. 11/771,669, filed on Jun.29, 2007, now U.S. Pat. No. 7,992,097, which claims the benefit to U.S.Provisional Application Ser. No. 60/871,747, filed on Dec. 22, 2006,titled SELECT DRAG AND DROP OPERATIONS ON VIDEO THUMBNAILS ACROSS CLIPBOUNDARIES. Both of these prior applications are incorporated byreference in their entirety.

TECHNICAL FIELD

In general, this document describes systems and techniques for editingvideo clips using video editing software.

BACKGROUND

Scenes in motion can be captured and recorded using a variety of devicesranging from state-of-the-art professional video cameras used intelevision and movie-making to simple cameras on cellular telephones.Some of the devices that can be used to capture motion pictures,including digital camcorders and digital cameras, also allow storing thecaptured images in digital format including the moving picture expertsgroup. (MPEG) format. Depending on device capabilities and usersettings, a camera can capture and store both audio and video. Therecorded information is automatically stored in digital format and canbe easily transported to secondary devices including hard disks incomputers using various wired or wireless communications protocols suchas bluetooth or universal serial bus (USB) based devices.

Video editing software, such as iMovie HD 6.0.1, provides a user inpossession of a large repository of video clips with non-linear editingtechniques to edit raw footage. Such editing includes cutting segmentsof the footage, re-arranging segments of the same video clip,re-arranging and combining segments of multiple video clips, andmodifying the content by adding content including audio tracks,voice-overs, titles, and transitions between frames. Softwaremanufacturers regularly add features to the software so that thesoftware is simple to operate for an average user, while providing anear-professional quality to the finished video.

SUMMARY

In one example, based on user input, a system can upload a library ofvideo clips, display the video clips as a series of thumbnails in a userinterface, provide previews of specific time instants in a video clip,and allow a user to edit the content of video clips displayed in theuser interface.

In one implementation, a computer-implemented method is described. Themethod includes displaying, within a user interface in a digital mediasystem, a media pane, and a project pane, displaying, within the mediapane, a thumbnail group representing a media item, the thumbnail groupcomprising one or more thumbnails, enabling a user to select, from thethumbnail group, a segment of the media item, and enabling a user totransfer the selected segment to the project pane.

This and other aspects can include one or more of the followingfeatures. The selecting can further include enabling a user to performoperations including placing a pointer on a starting position on thethumbnail group, selecting the starting position, and moving the pointerto an ending position on the thumbnail group, wherein the moving causesthe portion between the starting position and the ending position to beselected. The ending position can be independent of the startingposition. The method can include altering a position of the pointer onthe thumbnail group based on user input. The method can includedisplaying the pointer, when placed on the thumbnail group, as avertical line of length equal to a vertical dimension of the thumbnailgroup. The method can include highlighting the selected segment. Thetransferring can include placing the pointer at any position on theselected segment, dragging the selected segment, and dropping theselected segment in the project pane. The method can include displayingthe transferred segment within the project pane as a first thumbnailgroup, a thumbnail group can include one or more thumbnails, the firstthumbnail group can be displayed as arranged in a first row extendingacross the project pane in the horizontal direction such that a firstthumbnail in the first thumbnail group is displayed substantiallyadjacent to a first vertical edge of the project pane and subsequentthumbnails in the first thumbnail group can be displayed substantiallyadjacent to one another in the first row until a thumbnail issubstantially adjacent to a second vertical edge of the project pane,and a next thumbnail in the first thumbnail group can be displayed in asecond row vertically displaced from the first row. The order of displayof the thumbnails in the first thumbnail group can correspond to anorder in which the content in the transferred segment was captured,wherein progression of time can correspond to positioning of thethumbnails going from left to right in the horizontal direction and topto bottom in the vertical direction. The first vertical edge can be aleft edge of the project pane and the second vertical edge can be aright edge of the project pane. The second row can be below the firstrow. Adjacent rows can be separated by a gutter. The method can includeautomatically changing a number of thumbnails in a row or a number ofrows, or both, in response to a user varying the size of the projectpane. The thumbnails in the first thumbnail can be displayedcontinuously. The method can include visually separating a firstthumbnail of a subsequently transferred segment from a last thumbnail ina preceding thumbnail group. The subsequently transferred segment can beplaced at a position in the project pane, the position comprising one ofa position before the first thumbnail group, a position after the firstthumbnail group, and a position between the starting position and theending position of the first thumbnail group. Inserting the subsequentlytransferred segment in between the starting position and the endingposition of the first thumbnail group can split the first thumbnailgroup at the position of insertion and can display the subsequentlytransferred segment as a second thumbnail group at the position ofinsertion. Splitting the first thumbnail group and inserting the secondthumbnail group can cause the thumbnails in the thumbnail groups to bere-arranged. A thumbnail can be assigned a time period. The time periodis variable based on user input. Altering the time period can cause thenumber of thumbnails in a thumbnail group to be altered.

In another implementation, a medium bearing instructions to enable oneor more machines to perform operations is described. The operationsinclude displaying, within a user interface in a digital media system, amedia pane, and a project pane, displaying, within the media pane, athumbnail group representing a media item, the thumbnail groupcomprising one or more thumbnails, enabling a user to select, from thethumbnail group, a segment of the media item, and enabling a user totransfer the selected segment to the project pane.

This and other aspects can include one or more of the followingfeatures. The selecting can further include enabling a user to performoperations including placing a pointer on a starting position on thethumbnail group, selecting the starting position, and moving the pointerto an ending position on the thumbnail group, wherein the moving causesthe portion between the starting position and the ending position to beselected. The ending position can be independent of the startingposition. The operations can include altering a position of the pointeron the thumbnail group based on user input. The operations can includedisplaying the pointer, when placed on the thumbnail group, as avertical line of length equal to a vertical dimension of the thumbnailgroup. The operations can include highlighting the selected segment. Thetransferring can include placing the pointer at any position on theselected segment, dragging the selected segment, and dropping theselected segment in the project pane. The operations can includedisplaying the transferred segment within the project pane as a firstthumbnail group, a thumbnail group can include one or more thumbnails,the first thumbnail group can be displayed as arranged in a first rowextending across the project pane in the horizontal direction such thata first thumbnail in the first thumbnail group is displayedsubstantially adjacent to a first vertical edge of the project pane andsubsequent thumbnails in the first thumbnail group can be displayedsubstantially adjacent to one another in the first row until a thumbnailis substantially adjacent to a second vertical edge of the project pane,and a next thumbnail in the first thumbnail group can be displayed in asecond row vertically displaced from the first row. The order of displayof the thumbnails in the first thumbnail group can correspond to anorder in which the content in the transferred segment was captured,wherein progression of time can correspond to positioning of thethumbnails going from left to right in the horizontal direction and topto bottom in the vertical direction. The first vertical edge can be aleft edge of the project pane and the second vertical edge can be aright edge of the project pane. The second row can be below the firstrow. Adjacent rows can be separated by a gutter. The operations caninclude automatically changing a number of thumbnails in a row or anumber of rows, or both, in response to a user varying the size of theproject pane. The thumbnails in the first thumbnail can be displayedcontinuously. The operations can include visually separating a firstthumbnail of a subsequently transferred segment from a last thumbnail ina preceding thumbnail group. The subsequently transferred segment can beplaced at a position in the project pane, the position comprising one ofa position before the first thumbnail group, a position after the firstthumbnail group, and a position between the starting position and theending position of the first thumbnail group. Inserting the subsequentlytransferred segment in between the starting position and the endingposition of the first thumbnail group can split the first thumbnailgroup at the position of insertion and can display the subsequentlytransferred segment as a second thumbnail group at the position ofinsertion. Splitting the first thumbnail group and inserting the secondthumbnail group can cause the thumbnails in the thumbnail groups to bere-arranged. A thumbnail can be assigned a time period. The time periodcan be variable based on user input. Altering the time period can causethe number of thumbnails in a thumbnail group to be altered.

In one example, based on user input, a system can upload a library ofvideo clips, display the video clips as a series of thumbnails in a userinterface, provide previews of specific time instants in a video clip,and allow a user to edit the content of video clips displayed in theuser interface. The systems and techniques described here may provideone or more of the following advantages. First, the video clips in avideo library can be viewed as rows of horizontal thumbnails, where athumbnail can represent all or portion of a time period of the videoclip. The thumbnails are wrapped within the viewable window of the userinterface to avoid horizontal scrolling within the window to accesssegments of the video clip. The video clips appear to a user in the formof a two-dimensional time line. Second, a frame corresponding to a timeinstant in a video clip can be previewed by simply placing a cursor on adisplay device operated by a pointing device, such as a mouse, at adesired position on a thumbnail related to the video clip. In a systemwhere the pointing device is a mouse, multiple frames in a video clipcan be previewed by a simple mouse over without the need to click themouse at any point on the user interface. In selecting segments of videoduring editing, a user can use this feature to determine start and stoppoints in the video clip. Third, a segment of desired length can bechosen from a video clip and isolated from the remainder of the videoclip for use in editing. In a manner similar to selecting text in a texteditor, a user can select one or more desired segments of a video clip.Subsequently, the user can transfer the one or more selected segments toa separate portion of the user interface to edit the content of thesegments. The selected segments can be transferred using a pointingdevice, such as a mouse, without the need to click the mouse at anypoint in the selected segment. Fourth, a user can anchor a specificpoint in additional content overlaid on recorded video, including audiotracks, voice-overs, titles, and transitions between frames, to aspecific point in the content of the video clip. In this manner, theuser can synchronize the start time of playback of the overlay contentto the content of the video clip regardless of additions to or deletionsfrom the video clip. The user may be assured that once overlay contenthas been anchored at a desired position, such content will alwaysplayback in the finished video clip at the anchored position regardlessof other modifications that the user may perform on the video clip.

In addition, the system can simplify the video editing process and makeit user-friendly. Since the tediousness involved in editing issignificantly reduced, a user is encouraged to perform improved editingoperations on the video content. The quality of the finished video andthe confidence of the user in video editing can simultaneously beimproved.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features,objects, and advantages will be apparent from the description anddrawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is an example of a schematic of a user interface to perform videoediting.

FIG. 2A is an example of a schematic of a user interface displaying eachvideo clip as a thumbnail.

FIG. 2B is an example of a schematic of a user interface displaying avideo clip as a thumbnail group.

FIG. 3 is an example of a schematic of a user interface displaying aplurality of video clips as corresponding thumbnail groups.

FIG. 4A is an example of a schematic of a first frame in a video clipcorresponding to a first position of a playhead.

FIG. 4B is an example of a schematic of a second frame in a video clipcorresponding to a second position of a playhead.

FIG. 4C is an example of a schematic of a third frame in a video clipcorresponding to a third position of a playhead.

FIG. 4D is an example of a schematic of a fourth frame in a video clipcorresponding to a fourth position of a playhead.

FIG. 4E is an example of a schematic of a fifth frame in a video clipcorresponding to a fifth position of a playhead.

FIG. 5 is an example of a schematic of segments of video contentselected from the media pane and transferred to the project pane.

FIG. 6 is an example of overlay content anchored to video content in aproject pane.

FIG. 7 is an example of a flow chart of a method of displaying videoclips as a series of one or more thumbnails in a thumbnail group.

FIG. 8 is an example of a flow chart of a method of previewing a framecorresponding to a time instant in a video clip.

FIG. 9 is an example of a flow chart of a method of scrubbing based on aplay speed.

FIG. 10 is an example of a flow chart of a method of synchronizingoverlay content to video content.

FIG. 11 is an example of a schematic of a system on which the videoediting software is implemented.

FIG. 12 is an example of a schematic of a central processing unit.

Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

FIG. 1 depicts an example of a schematic of a user interface 100 toperform video editing. The user interface 100 includes a media pane 105,a project pane 110, and a preview pane 115. Video clips containing rawfootage recorded using a recording instrument are uploaded into the userinterface 100 and displayed in the media pane 105. In someimplementations, the video clips containing raw footage may be stored ona storage device such as a video library. When the user interface isopened, the system can display the available video libraries in a paneadjacent to the media pane 105. In other implementations, when the userinterface is opened, the system can automatically search the storagedevice for video clips and display all available video clips in themedia pane 105. In other implementations, the system can retrieve storedvideo clips based on user input. All video clips selected by the usercan be uploaded into the user interface 100 and displayed in the mediapane 105 regardless of the type of the video clip or the recordinginstrument. The video clips can be recorded using any recordinginstrument including digital camcorders, digital cameras, and cellulartelephones. The video clips can be stored in any format includingquicktime, mpeg-1, mpeg-2, AVI, and real video. In addition, the timeperiod of each video clip can be displayed on or adjacent to acorresponding video clip.

The project pane 110 includes one or more segments from one or more ofthe video clips displayed in the media pane 105 that can be selected bythe user for editing. When segments are selected and transferred fromthe media pane 105 to the project pane 110, a project is automaticallycreated. In some implementations, a pane displaying projects can bedisplayed adjacent to the project pane 110. Subsequent to editing, thecontents of a project pane 110 can be saved as a finished project. Afinished project can be saved in any format including quicktime, AVI,mpeg-1, mpeg-2, and real, regardless of the format of the video fromwhich each segment in the project was obtained. A saved project can bere-opened for further editing. In addition, the project pane 105 canalso include representations to indicate additional content includingaudio tracks, voice-overs, titles, and transitions between frames.

Video in a video clip is stored as a sequence of frames. The previewpane 115 displays frames, wherein a frame is one of the plurality ofphotographic images in a motion picture. A frame displayed in thepreview pane 115 corresponds to a time instant in the video clip. Thepreview pane 115 can display frames corresponding to content displayedin the media pane 105 and content displayed in the project pane 110. Inaddition, the preview pane 115 plays back video content displayed in themedia pane 105 and in the project pane 110, based on user input. Basedon system capabilities, the content played back in the preview pane 115can include audio content recorded along with the video content or addedto the raw footage. A user can preview the effect of editing the videocontent in the preview pane 115.

In some implementations, the width of the media pane 105 is equal to thesum of the widths of the project pane 110 and the preview pane 115. Theheight of the three panes can be equal to one another. A user can alterthe dimensions of the panes within the limits of the dimensions of adisplay device on which the user interface 100 is displayed. Thedimensions of the user interface 100 can also be altered within thelimits of the display device causing the dimensions of the panes tochange proportionally.

In some implementations, the media pane 105 can be displayed in thebottom half of the user interface 100 and the project pane 110 and thepreview pane 115 can be displayed in the top half. Alternatively, themedia pane 105 can be displayed in the top half and the project pane 110can be displayed in the bottom half. The positions of the media pane 105and the project pane 110 within the user interface 100 can be switchedin a single operation. For example, the media pane 105 may display videoclips from the video library. The project pane 110 may display segmentsfrom one or more video clips selected by the user. The preview pane 115may display a frame corresponding to a time instant determined by theposition of the cursor on the display device. Upon receiving input froma user, in a one-step operation, the positions of the media pane 105 andthe project pane 110 can be simultaneously swapped while retaining thecontent displayed in the media pane 105 and the project pane 110.

FIG. 2A depicts an example of a schematic of a user interface 100displaying each video clip 200 as a thumbnail. A video clip 200 includesthe content recorded by a recording instrument from the instant therecording feature is turned on to the instant the recording feature isturned off. When the video clips 200 in a video library are uploadedinto the user interface 100, each video clip 200 is displayed as one ormore rows of rectangular thumbnails. The time line of a video clip 200runs from left to right and top to bottom. In some implementations, eachvideo clip 200 can be represented by a single rectangular thumbnail witha system defined distance separating each thumbnail to distinguishbetween video clips. Thumbnails are displayed in a first row until thesum of the widths of the thumbnails exceed the width of the media pane105 displayed. Subsequent thumbnails are wrapped to the next row in themedia pane 105. A gutter, which is a system designated space, separatestwo rows of thumbnails.

FIG. 2B depicts an example of a schematic of a user interface 100displaying a video clip 200 as a thumbnail group 203. The thumbnailgroup 203 collectively representing the video clip is displayed as acontinuous sequence of one or more rectangular thumbnails 205. Thevertical and horizontal dimensions of each thumbnail 205 are designatedby the system. Each video clip 200 is collectively represented by athumbnail group 203. Each thumbnail group 203 can include one or morethumbnails 205. Thumbnails 205 related to the same thumbnail group 203are displayed as a continuous sequence. Thumbnail groups 203corresponding to separate video clips are displayed such that the lastthumbnail 205 of a thumbnail group 203 is separated from the firstthumbnail 205 of the subsequent thumbnail group 203. The order ofdisplay of the thumbnails in the thumbnail group corresponds to theorder in which the corresponding video clip was captured. Progression oftime corresponds to positioning of the thumbnails going from left toright in the horizontal direction and top to bottom in the verticaldirection. A video clip 200 can be included to or removed from displayin the user interface 100 based on user input. When a thumbnail group203 corresponding to a video clip 200 is hidden, then the remainingthumbnail groups 203 are re-arranged to fill the gaps corresponding tothe hidden thumbnail group 203. In this manner, the thumbnail groups 203are displayed in a manner analogous to words in a word processingapplication user interface.

Each thumbnail 205 is assigned a portion of the time period of videocontent in the video clip 200. The duration of a video clip 200 isdivided by the time period assigned to each thumbnail 205. In thismanner, the number of thumbnails 205 in a thumbnail group 203 requiredto display the video clip 200 is determined. The duration of a videoclip 200 may be exactly divisible by the time period assigned to eachthumbnail 205 with no remaining time. In such cases, when the durationof the video clip 200 is divided by the time assigned to each thumbnail205, the number of thumbnails 205 in a thumbnail group 203 required todisplay the video clip 200 equals the quotient of division (Q) with notime remaining The video clip 200 is displayed across Q thumbnails 205in the thumbnail group 203. Alternatively, there may be time remainingafter dividing the total time period of the video clip 200 by the timeperiod assigned to each thumbnail 205. In such cases, the number ofthumbnails 205 in the thumbnail group 203 required to display the videoclip 200 equals the quotient of the division (Q) plus one. The videoclip 200 is displayed across (Q+1) thumbnails 205 in the thumbnail group203. Also, in such cases, the time period corresponding to the lastthumbnail 205 in the thumbnail group 203 is less than that correspondingto the other thumbnails 205 in the thumbnail group 203. Nevertheless,the dimensions of all the thumbnails 205 in the thumbnail group 203related to a video clip 400 are equal to one another. The segment of thelast thumbnail 205 of the video clip 200 containing no video content isfilled with a color, for example, grey, when the cursor on the displaydevice is placed on the thumbnail. In this manner, a user can readilydiscern that the filled segment of the last thumbnail 205 of a thumbnailgroup 203 is void of any video content. The segment of the thumbnail 205void of content is not used during editing. The aesthetics of the userinterface 100 are improved by keeping equal the dimensions of all thethumbnails 205 in the thumbnail group 203 and avoiding the display offractionated thumbnails 205 to represent content of shorter timeperiods.

In some implementations, where the time period of the content in thelast thumbnail is less than the time period of the other thumbnails inthe thumbnail group, the content of the last thumbnail in the thumbnailgroup is distributed across the entire dimension of the thumbnail. Insuch implementations, despite a mismatch in the time period of contentin the last thumbnail and the remaining thumbnails in the same thumbnailgroup, each point in the physical space occupied by a thumbnailcorresponds to a frame in the media item. In other implementations,where the time period of the content in the last thumbnail is less thanthe time period of the other thumbnails in the thumbnail group, thedimensions of the last thumbnail can be truncated to indicate thereduced time period.

A user can alter the time period assigned to the thumbnails 205 in theuser interface 100. The thumbnails 205 in the project pane 110 can beassigned a different time period than the thumbnails 205 in the mediapane 105. In some implementations, a first interactive scale and asecond interactive scale are displayed adjacent to the media pane 105and the project pane 110, respectively. The scales are operativelycoupled to the respective panes such that the time assigned tothumbnails in the media pane 105 and that assigned to the thumbnails inthe project pane 110 can be independently altered by sliding the firstscale and the second scale, respectively. In some implementations, thetime period corresponding to each thumbnail 205 is assigned by thesystem. In other implementations, the time period corresponding to eachthumbnail 205 is specified by the user. In other implementations, when avideo clip 200 is first loaded into the media pane 105, each thumbnail205 is assigned a time period that is equal to a system default value. Auser can alter this value to a user-defined value within limitsspecified by the system.

The vertical and horizontal dimensions of the thumbnails 205 are uniformand are designated by the system. The dimensions of the media pane 105and the project pane 110 may be insufficient to display all thethumbnails 405 related to one or more thumbnail groups 203 in the samerow. In some implementations, an interactive scale is displayed adjacentto the media pane 105 and the project pane 110. The scale is operativelycoupled to the dimensions of the thumbnails in the media pane 105 andthe project pane 110. A user can change the position of the scale toincrease or decrease the size of the thumbnails 205 in the media pane105 and the project pane 110. In this manner, the size of the thumbnails205 displayed in the media pane 105 and the project pane 110 can besimultaneously altered. In other implementations, the size of the mediapane 105 is automatically increased to accommodate all thumbnails 205 byadding rows. Nevertheless, the dimensions of the media pane 105displayed remain unaltered. A vertical scroll bar is incorporated intothe media pane 105 so that the user may scroll vertically to accessvideo clips 200 that are not immediately viewed. In otherimplementations, the user can pan the media pane 105 using the pointingdevice or the keyboard or both. The size of display of the thumbnails205 can also be altered by a combination of resizing thumbnails using aninteractive scale and increasing the size of the media pane 105.

FIG. 3 depicts an example of a schematic of a user interface 100displaying a plurality of video clips 200 as corresponding thumbnailgroups 203. Each thumbnail group 203 includes one or more thumbnails205. In some implementations, all video clips 200 of a video library canbe automatically uploaded into the user interface 100 and displayed inthe media pane 105 as rows of thumbnail groups 203. In otherimplementations, one or more video clips 200 of a video library can beselectively uploaded into the user interface 100, based on user input,and displayed in the media pane 105. The default dimensions of the userinterface 100 are designated by the system. Based on the time periodassigned to a thumbnail 205 and based on the duration of a video clip200, each video clip 200 is distributed across one or more thumbnails205 in a thumbnail group 203. In the example shown, in the default viewof the user interface 100, the thumbnail groups 1, 2, 3, and 4correspond to video clips 1, 2, 3, and 4 which are displayed across 6,1, 3, and 1 thumbnails, respectively. If the total width of thethumbnails 205 in a row exceeds that of the media pane 105, a new row isadded, and subsequent thumbnails 205 are wrapped within the media pane105 and displayed in the following row. The size of the thumbnails inthe media pane 105 and the project pane 110 can be alteredproportionally based on user input.

The number of thumbnails 205 in a thumbnail group 203 to display thevideo clips 200 is automatically altered based on the time periodassigned to each thumbnail 205. When a video clip 200 is displayedacross one or more thumbnails 205 in a thumbnail group 203, the timeperiods corresponding to each thumbnails 205 are equal to one another,except for the last thumbnail 205 in each thumbnail group 203. The timeperiod corresponding to the last thumbnail 205 in a thumbnail group 203is either less than or equal to, but not greater than, the time periodcorresponding to other thumbnails 205 in the same thumbnail group 203.Each video clip 200 can be displayed as a single thumbnail 205 inresponse to user input. In such implementations, the dimensions of thethumbnails 205 corresponding to the video clips 200 are equal to oneanother. The duration of the video clips 200 represented by a thumbnail205 need not be equal to one another.

When a cursor on the display device is placed over a thumbnail 205 inthe user interface 100, a playhead is displayed on the display device atthe position of the cursor. In some implementations, the playhead is avertical line of height equal to the vertical dimension of the thumbnail205. When the cursor is placed at a position away from a thumbnail 205,the playhead disappears. A user may alter the position of the cursor onthe display device by operating the pointing device or the key board orboth. When the playhead is positioned at a position on a thumbnail 205,a frame in the video corresponding to a time instant determined by theposition of the playhead on the thumbnail is displayed in the previewpane 115. In this manner, frames related to video content displayedacross one or more thumbnails in the media pane 105 and the project pane110 can be previewed in the preview pane 115.

When the playhead is positioned on a thumbnail 205, a frame in the videoclip 200 corresponding to the position of the playhead is displayed onthe thumbnail 205. As the playhead is moved across the thumbnail 205,the display on the thumbnail 205 is continuously updated with the framecorresponding to the new position of the playhead. Further, the framethat is displayed on the thumbnail 205 is simultaneously displayed onthe preview pane 115. As the frames displayed on the thumbnail 205 areupdated as the playhead is moved, the frames displayed in the previewpane 115 are also updated.

FIGS. 4A-4E depict examples of schematics of frames in a video clipcorresponding to positions of a playhead. In the examples shown, theplayhead is moved horizontally across thumbnail number 2 in thumbnailgroup number 3. As the playhead is moved from the left of the thumbnail(playhead position 1) to the right of the thumbnail (playhead position5), frames corresponding to the positions of the playhead are displayedin the preview pane 115. The rate at which frames are updated in thepreview pane 115 corresponds to a play speed. The play speed input isprovided by the user. In some implementations, a user, using a mouse asa pointing device, can move the mouse horizontally across the one ormore thumbnails 205. The play speed corresponds to the speed with whichthe user moves the pointing device. In other implementations, the systemcan have one or more designated play speeds which the user can choose.Scrubbing refers to previewing the contents of one or more thumbnails205 by moving the cursor over the thumbnail 205 in the thumbnail group203 in forward or reverse directions. The contents of a thumbnail 205can be scrubbed by a simple mouse over operation that does not requireclicking the mouse on the thumbnail 205 to preview a frame in thepreview pane 115. The time line representing progression a of video clipruns from left to right. Therefore, moving the playhead from left toright displays the frames corresponding to the position of the playheadin the preview pane 115 in the sequence in which the frames wererecorded. Similarly, moving the playhead from right to left displays theframes corresponding to the position of the playhead in the preview pane115 in the sequence opposite to that in which the frames were recorded.A user may move the playhead at a play speed placed over a thumbnail 205using the pointing device either from the left to the right or the rightto the left or both to scrub the contents of the thumbnail 205 in thepreview pane 115.

As the playhead is moved across one or more thumbnails 205 at a playspeed, the preview pane 115 is continuously updated with framescorresponding to the position of the playhead on the thumbnails 205. Inthis manner, the contents of the video clip 200 are scrubbed. Therecording instrument may have a feature to record both video and audiocontent. Thus, the video clip can include audio content recorded alongwith the video content. When the contents of the video clip arescrubbed, both the video and the audio content can be played back inforward or reverse depending on the direction of movement of theplayhead. In some implementations, if the play speed is less than afirst threshold, both the video and audio content of the segment beingscrubbed are played back. Depending on the audio features of a system,both video and the audio associated with the video are scrubbed eitherin forward or reverse direction depending on user input. The sequence inwhich the video and audio content is played back corresponds to thedirection of movement of the playhead. If the play speed exceeds thefirst threshold, but is below a second threshold, only the video contentand not the audio content, if any, is scrubbed. If the play speedexceeds the second threshold, then neither the video nor the audioassociated with the video are played back. In such cases, the defaultview of a thumbnail 205 is displayed in the preview pane 115. Thedefault view of a thumbnail can include any frame of the video clipincluding a frame in the thumbnail on which the playhead is located anda frame in any thumbnail of the video clip to which the thumbnail isrelated, regardless of the position of the playhead. Default view of athumbnail is also displayed in the preview pane 115 if the direction ofmotion of the playhead is determined to be substantially vertical. Thevideo content displayed in the media pane 105 can be played back andpreviewed in the preview pane 115 at a play speed. The user can startand stop play back at any desired position in any thumbnail displayed inthe media pane 105.

From the video clips 200 uploaded in the media pane 305, a user canselect segments of video and transfer the selected segments to theproject pane 110. FIG. 5 depicts an example of a schematic of segmentsof video content selected from the media pane 105 and transferred to theproject pane 110. In this manner, the user may edit the content of theraw footage displayed in the media pane 105. Content from thumbnails 205in the media pane 105 are selected in a manner analogous to selectingtext in a text editor. The playhead is placed at a desired startingposition on a thumbnail 205. The user may choose the starting positionon a thumbnail 205 based on the preview of a frame in the preview pane115 obtained by placing the playhead at a position in the thumbnail 205.In some implementations, the pointing device is a mouse. The user canselect the starting position on the thumbnail 205 by placing theplayhead at the desired position and clicking the mouse. Subsequently,the user can hold down and move the mouse horizontally across all orsegments of the thumbnail group 203 corresponding to a video clip 200 toa desired ending position. When the user releases the mouse at thedesired ending position, the segment spanned by the playhead isselected. Alternatively, the user can click the mouse at a desiredstarting position. In response, a segment consisting of a pre-determinednumber of frames can be selected. The user can alter the number offrames in the segment using the mouse. In some implementations, thespanned segment may be displayed as a shaded rectangle that can bereadily discerned. The ending position of a selected segment can belocated before or after the starting position of the selected segment.The starting position and the ending position of the selected segmentlie within the same thumbnail group and are related to the same videoclip.

In other implementations, the user can select segments of a video clip200 by a click and drag operation using a pointing device, for example,a mouse. In other implementations, the user can select segments of avideo clip 200 by selecting the starting position and the endingposition without dragging the playhead from the starting position to theending position. For example, the user may place the playhead on thedesired starting position and click the pointing device such as a mouse.The user may hold down the “Command” key on the key board, move theplayhead to the desired ending position, and click the mouse at theending position. The segments between the starting and ending positionare automatically selected. Any combination of one or more keys on thekey board or the pointing device or both can be designated to performthe segment selection operation.

In some implementations, the user can select segments of video from oneor more thumbnails displayed on different rows in the media pane 105.The user can select a starting position and an ending position using acombination of one or more keys on the key board or the pointing deviceor both such that the starting position is located on a row differentfrom the ending position. All the content between the starting positionand the ending position, regardless of the rows on which the startingand ending position are located, can be selected. In someimplementations, the user can select a plurality of segments from amongthe video clips 200 displayed in the media pane 105. Each segment canhave a starting position and an ending position. For example, the usercan select a first segment of a video clip 200 by clicking the mouse ata starting position and dragging the mouse to an ending position.Alternatively, the user can select a first segment by clicking the mouseat the starting position, holding down a key on the key board, forexample, the “Command” key, and clicking the mouse at the endingposition. Subsequently, the user can hold down a second key on the keyboard, for example, the “Shift” key, and repeat the process forselecting a segment at a different position in the media pane 105. Inthis manner, the user can select multiple segments of the video clip 200from the media pane 105, wherein each selected segment has a startingposition and ending position.

One or more selected segments of the one or more video clips 200 can betransferred from the media pane 105 to the project pane 110. In someimplementations, a segment of video selected in the media pane 105 canbe transferred to the project pane 110 without clicking the pointingdevice, for example, a mouse, on the selected segment. Placing thepointing device at any point in the selected segment allows moving theentire selected segment to the project pane 110 without clicking thepointing device at any point in the selected segment. In otherimplementations, the selected segments can be dragged from the mediapane 105 and dropped into the project pane 110 in a manner similar totext editing. In other implementations, the selected segments can be cutfrom the media pane 105 and pasted into the project pane 110 in a mannersimilar to text editing. In such implementations, when the selectedsegments are transferred from the media pane 105 to the project pane110, the selected segments may be removed from display in the media pane105. In other implementations, the selected segments can be copied andthe copied segments can be pasted into the project pane 110. In suchimplementations, the selected segments continue to be displayed in themedia pane 105 as well as the project pane 110.

Each selected segment can be transferred individually from the mediapane 105 to the project pane 110. Alternatively, one or more selectedsegments can be transferred simultaneously to the project pane 110. Thetransferred segments are displayed as a corresponding thumbnail group. Athumbnail group corresponding to a transferred segment includes one ormore horizontal rows of thumbnails, wherein the height of each thumbnailis equal to one another. The number of thumbnails across which atransferred segment is displayed depends on a time assigned to eachthumbnail and can be altered by a user. Segments transferred firstappear as thumbnails on the left end of a row in the project pane 110.Segments transferred subsequently are displayed as one or morethumbnails to the right of the one or more thumbnails related tosegments already present in the project pane 110. The segments areseparated by a system designated space to distinguish between segments.A segment can be inserted at any position in a row including the startof the row, the end of the row, or any position in between. Alltransferred segments are separated by a system designated distance. Ifthe width of the thumbnails exceeds the width of the project pane 110, anew row is added to the project pane and subsequent segments aretransferred to the new row. The size of the thumbnails in the projectpane 110 can be altered along with the size of the thumbnails in themedia pane 105 by varying the position of an interactive scale that isconfigured to alter the vertical and horizontal dimensions of thethumbnails.

The selected segments of the video clip displayed in the project pane110 can be re-arranged based on user input. In some implementations, auser can change the position of a selected segment by placing thepointing device, for example, a mouse, anywhere on the selected segment,moving the selected segment from its present position, and placing theselected segment at a desired position. The entire selected segment canbe moved regardless of the point in the selected segment where the mouseis located. A first selected segment can be dragged and dropped topositions including the start of a second segment, the end of a secondsegment, the start of a row, and the end of a row. The contents of thesegments selected by the user, transferred to the preview pane 110, anddisplayed in a sequence desired by the user can be scrubbed by movingthe playhead. In a manner similar to scrubbing the contents ofthumbnails in the media pane 105, the contents in the preview pane 110,including audio, can be previewed in the preview pane 110 based on thespeed of movement of the playhead. In addition, the contents of thetransferred segments can be played back as a continuous video clip. Thecontents of the segments in the project pane 110 can be played back andpreviewed in the preview pane 115. The user can start and stop play backat any desired position in any thumbnail displayed in the project pane110.

The video content displayed in the media pane 105 and the project pane110 is aligned relative to a time line. In some implementations, a usercan add and associate overlay content, including audio tracks,voice-overs, titles, and transitions between frames in the video, to thevideo content displayed in the project pane 110. The user can addoverlay content at any position in the project pane 110 and anchor apoint in the overlay content to a point in the video content displayedin the project pane 110 such that the point in the additional content isplayed back at the same instant as the anchored point in the videocontent, regardless of the time in the time line when the point in thevideo content is played back. In this manner, the play back of a firstpoint in the overlay content can be synchronized to a second point inthe video content. In some implementations, when the user includesoverlay content into the content displayed in the project pane 110, theoverlay content is displayed as a horizontal bar beneath the thumbnailgroup 203 corresponding to the video content to which the overlaycontent is associated. Any point in the overlay content can besynchronized to any point in the video content in the project pane 110.The display of a horizontal bar beneath a thumbnail 205 is an indicationof overlay content.

The overlay content, for example, an audio track, is anchored to aspecific point in the video content. FIG. 6 depicts an example ofoverlay content anchored to video content in a project pane 105. Theuser may anchor the overlay content to a specific position in the videocontent so that the anchored point in the overlay content plays backwhenever the corresponding anchored point in the video content playsback, regardless of the time instant when the rest of the video contentand the overlay content plays back. In some implementations, the usercan choose a first point in the video content and then choose theoverlay content. The starting point in the overlay content isautomatically anchored to the first point. In other implementations,when the user adds overlay content to a thumbnail related to videocontent in the project pane 110, the overlay content is automaticallyanchored to the first frame in the first thumbnail in the thumbnailgroup. Subsequently, the user can relocate the anchored point in theoverlay content and the anchored point in the video content to anydesired point using the pointing device. The user can relocate theanchored point in the video content based on a preview of a framerelated to a thumbnail displayed in the project pane 110 viewed in thepreview pane 115. In some implementations, the anchored points in thevideo and audio content are displayed as points connected by a verticalline. In such implementations, regardless of additions to, deletionsfrom, or re-arrangements of the video content in the project pane 110,the position of the anchored point in the overlay content relative tothe anchored point in the video content remains unaltered. The overlaycontent before and after the anchored point is automatically adjustedsuch that the point in the overlay content plays back at the same timeinstant as the point in the video content to which it is anchored.

In some implementations, the overlay content is a voice-over that a usercan add to the video content. The user can select a point in the videocontent displayed in the project pane 310 as the starting point of thevoice over. The user can record audio for a desired time period. Theuser can select an ending point for the end of the voice over. Thestarting point of the voice over is anchored to the chosen startingpoint in the video content. The user can independently move the anchoredpoint in the video content and the anchored point in the voice-over toany desired point second point in the thumbnail group representing thevideo content and the horizontal bar representing the voice over,respectively.

In some implementations, the overlay content can include transitionsbetween frames. The system can include a plurality of transition styles.In some implementations, the user can choose and insert a transitionstyle between two frames. The transition can appear as a rectangularthumbnail with vertical dimension equal to the vertical dimension of thethumbnails representing the selected segments. The horizontal dimensionof the thumbnail representing a transition can be varied based on userinput. The user can alter the duration of the transition by altering thehorizontal dimension of the thumbnail representing the transition. Inthis manner, the user can edit the raw footage recorded using therecording instrument and add features to the edited video clip.Subsequently, the user can store the edited video clip on a storagedevice. The storage device may be the storage device on which the rawfootage is stored. Alternatively, the storage device may be a separatedevice.

FIG. 7 depicts an example of a flow chart of a method of displayingvideo clips 200 as a series of one or more thumbnails 205 in a thumbnailgroup 203. In some implementations, the video clips 400 are uploadedinto the media pane 305 at 700. The system 100 assigns a default timeperiod for each thumbnail 205. This system value for each thumbnail 205is obtained at 705. The video clip 200 is displayed as a thumbnail group203 based on the duration of the video clip 200 and the system value fortime period of a thumbnail 205 at 710. The thumbnail group 203 caninclude one or more thumbnails 205. A user can alter the time periodassigned to each thumbnail 205. If the time period for each thumbnail205 is altered by a user (715), the user specified time is used todetermine the number of thumbnails 205 in the thumbnail group 203. Ifnot, then the system assigned value is used to determine the number ofthumbnails 205 in the thumbnail group 203. If the user specifies aninput to display each video clip 200 as a single thumbnail 205 (720),each video clip 200 is displayed as a single thumbnail 205 at 725. Ifthe user does not specify a time period for a thumbnail 205, then theduration of the video clip 200 is divided by the system assigned valuefor time period of a thumbnail 205 and a quotient of the division (Q) isdetermined at 730. If the user specifies a time period for a thumbnail205, then the duration of the video clip 200 is divided by the userspecified value and a quotient of the division (Q) is determined at 735.If no time remains post division (740), the video clip is displayedacross Q thumbnails at 745. The thumbnail group 203 includes Qthumbnails 205. If time remains post division (740), the video clip isdisplayed across (Q+1) thumbnails at 750. The thumbnail group 203includes (Q+1) thumbnails 205.

The display of segments of video content transferred from the media pane105 to the project pane 110 and the number of thumbnails 205 in thethumbnail group 203 representing the segment can also be altered basedon the duration of a segment and a time period assigned to eachthumbnail in the project pane 110. A user can transfer segments of videoof any time period from the media pane 105 to the project pane 110. Thetime period assigned to each thumbnail in the project pane 110 isassigned a default system value which can be altered based on userinput. The number of thumbnails required to display a transferredsegment as a thumbnail group is a function of the duration of thesegment and the time period assigned to each thumbnail. The time periodassigned to a thumbnail in the media pane 105 can be alteredindependently from the time period assigned to a thumbnail in theproject pane 110.

FIG. 8 depicts an example of a flow chart of a method of previewing aframe corresponding to a time instant in a video clip 200. The videoclip 200 may be displayed as one thumbnail 205 or a horizontal sequenceof a plurality of thumbnails 205 in a thumbnail group 203. A cursor onthe display device can be controlled by the key board or the pointingdevice or both. The cursor is placed on a thumbnail 205 related to avideo clip 200 at 800, wherein the cursor is displayed as a playhead.The time instant in the video clip 200 corresponding to the position ofthe playhead on the thumbnail 205 is determined at 805. A frame in thevideo clip 200 corresponding to determined the time instant isidentified at 810. The identified frame is displayed in the preview pane115 at 815.

FIG. 9 depicts an example of a flow chart of a method of scrubbing basedon a play speed of a playhead. The playhead can be controlled using thekey board or the pointing device or both. By moving the playhead acrossone or more thumbnails, the frames corresponding to the positions of theplayhead are displayed in the preview pane 115, and can, thus, bescrubbed. The play speed with which the playhead is moved across athumbnail 205 is determined at 900. If the direction of motion of theplayhead is substantially vertical, then the frames in the thumbnail 205are not scrubbed. A default view of the thumbnail 205 is displayed inthe preview pane 115 at 910. If the play speed is determined to not besubstantially vertical, the play speed is compared with a firstthreshold at 915. If the play speed is less than the first threshold,both video and audio content corresponding to the position of theplayhead are scrubbed (920). If the play speed is greater than the firstthreshold, then the play speed is compared with a second threshold at925. If the play speed is greater than the first threshold and lesserthan a second threshold, then only the video content of the frame isscrubbed at 930. The audio content associated with the frame is notscrubbed. If the play speed is greater than the second threshold, thenthe play speed is deemed too fast to update frames in the preview paneand the default view is displayed. Neither the video nor any otherassociated content is scrubbed. The default view can be any frameincluding the starting frame of the thumbnail 205, the ending frame ofthe thumbnail 205, the starting frame of the thumbnail group 203representing the video clip 200, and the ending frame of the thumbnailgroup 203 representing the video clip 200.

FIG. 10 depicts an example of a flow chart of a method of synchronizingoverlay content to video content. The overlay content is overlaid on thevideo content displayed in the project pane 110. Based on user input,the content to be overlaid is added to the project pane 110 at 1000. Theoverlay content includes one or more of audio tracks, voice-overs,titles, transitions between video, and combinations of the three. Insome implementations, the overlay content is displayed in the projectpane 110 as a horizontal bar in the gutter between rows of thumbnailgroups 203 representing video content. The user can synchronize a firstpoint in the overlay content to play back whenever a second point in thevideo content is played back. In some implementations, the user picks afirst point on a thumbnail 205. The user then adds the overlay content.The starting point of the overlay content is automatically anchored tothe first point in the thumbnail. In other implementations, the useradds the overlay content to a thumbnail in the project pane 110. Thestarting point of the overlay content is automatically anchored to thestarting point of the thumbnail to which the overlay content is added.The anchor is displayed as two points, each located on the video contentand the overlay content, connected by a vertical line. Based on userinput, the first anchor point is moved to a first synchronization pointat 1005. Similarly, based on user input, the second anchor point in theoverlay content is moved to a second synchronization point at 1010. Thefirst synchronization point is anchored to the second synchronizationpoint at 1015. Once anchored, the second synchronization point in theoverlay content always plays back at the same time as the firstsynchronization point in the video content to which it is anchored,regardless of additions to or deletions from the video content and theoverlay content. The anchor points on the video content and the overlaycontent can be moved using the pointing device or the key board or both.

FIG. 11 depicts an example of a schematic of a system in which the videoediting software is implemented. The system 1100 includes a displaydevice 1105, a central processing unit (CPU) 1110, a key board 1115, anda pointing device 1120. The software can be implemented in virtually anysuitable system 1100 (e.g., desktop computer, laptop computer, personaldigital assistant (PDA), smartphone, work station). Information can bedisplayed to a user using any suitable display device 1105 including acathode ray tube (CRT) and liquid crystal display (LCD) monitor. A usercan use a key board 1115 and virtually any suitable pointing device 1120(e.g., mouse, track ball, stylus, touch screen) to interact with thevideo editing software. The display device 1105, the key board 1115, andthe pointing device 1120 can be operatively coupled with the CPU 1110through wired or wireless means.

In some implementations, the software can be installed on a CPU 1110controlled by an operating system such as Macintosh Operating System(Mac OS) X v10.0. In other implementations, the software can beinstalled on a CPU 1110 controlled by other operating systems includingMicrosoft Windows, UNIX, and Linux. In some implementations, the system1100 is a stand alone device such as a desktop computer. In otherimplementations, the system 1100 is a network where the software isinstalled in a centralized server and a user can access the softwarethrough one or more nodes such as work stations.

FIG. 12 depicts an example of a schematic of a central processing unit1110. The CPU 1110 includes a microprocessor 1200, a random accessmemory (RAM) 1205, and a read only memory (ROM) 1210. When a user runsthe video editing software application installed on a system 1100, theuser provides instructions to the CPU 1110 using one or more of theinput devices including the keyboard 1115 and the pointing device 1120.The microprocessor 1200 performs the operations specified by the userbased on user input and instructions from RAM 1205 or ROM 1210 or both.The system 1100 displays the output on the display device 1105. Inaddition, the CPU 1110 can include a storage device to store contentincluding raw footage recorded using the recording instrument, editedvideo, and additional content. In some implementations, the storagedevice resides in the CPU 1110. In other implementations, the storagedevices resides external to the CPU 1110. In other implementations, thestorage device resides in the recording instrument. The recordinginstrument is operatively coupled to the CPU 1110 through wired orwireless means to retrieve stored content.

Although a few implementations have been described here, othermodifications are possible. For example, the video editing software canbe embedded into the recording instrument. The display device on whichthe recorded content is played back can be used to display the userinterface 100 including the media pane 105, the project pane 110, andthe preview pane 115. A user can use a pointing device 1120 including astylus and a touch screen to scrub across thumbnails in the media pane105, select segments of video from the thumbnails in the media pane and105 and transfer the selected segments to the project pane 110. Previewof the content in the thumbnail groups 203 displayed in the media pane105 or the segments of video content in the project pane 110 or both canbe viewed in the preview pane 115. Additional content to be laid overthe video content in the project pane 110 can be stored in a storagedevice located in the recording instrument. Alternatively, the contentto be overlaid can be stored in a separate storage device that can beoperatively coupled to the recording instrument.

In some implementations, more than one user interface 100 can be openedand viewed simultaneously. For example, video clips 200 in a first videolibrary can be uploaded into a first media pane 105 in a first userinterface 100. Video clips in a second video library can be uploadedinto a second media pane 105 in a second user interface 100. The videoclips from the first media pane 105 can be selected and transferred tothe second media pane 105, and vice versa, by operations similar to textediting including drag and drop, cut and paste, and copy and paste. Thetime period of the one or more thumbnails 205 related to a video clip200 in the first media pane 105 need not be the same as the time periodof the one or more thumbnails related to a video clip 200 in the secondmedia pane 105. When a video clip 200 is transferred from the firstmedia pane 105 to the second media pane 105, the one or more thumbnails205 related to the transferred video clip 200 can be automaticallyassigned the time period of the one or more thumbnails 205 in the secondmedia pane 105, and vice versa. Segments of video selected in the firstmedia pane 105 in the first user interface 100 can be selected andtransferred to the second project pane 110 in the second user interface100 by operations similar to text editing including drag and drop, cutand paste, and copy and paste, and vice versa. Video segments can beselected and transferred from the first project pane 105 to the secondproject pane 105, and vice versa. The video content in the media pane105 and project pane 110 in the user interface 100 can be previewed inthe preview pane 115 in the corresponding user interface 100. The userinterfaces 100 can be displayed as a cascade on the display device 1105,wherein each user interface 100 can be independently accessed, viewed,and re-sized, based on user input.

In another implementation, more than one media pane 105 can be openedand viewed in the same user interface 100. For example, video clips in afirst video library can be uploaded into a first media pane 105 in auser interface 100. A second media pane 105 can be opened in the sameuser interface 100 and video clips in a second video library can beuploaded into the second media pane 105. Video clips 200 can be selectedfrom the first media pane 105 and transferred to the second media pane105, and vice versa, by operations similar to text editing includingdrag and drop, cut and paste, and copy and paste. The time periodassigned to the one or more thumbnails 105 related to a video clip 200transferred from a first media pane 105 to a second media pane 105 inthe same user interface 100 can be automatically adjusted to correspondto the time period assigned to the thumbnails 205 in the second mediapane 105. The video content in the first media pane 105 and the secondmedia pane 105 can be previewed in the same preview pane 115 in the userinterface 100. Segments of video content from the first media pane 105and the second media pane 105 can be selected and transferred to thesame project pane 110 by operations similar to text editing includingdrag and drop, cut and paste, and copy and paste.

In another implementation, more than one project pane 110 can be openedand viewed in the same interface 100. Segments of video from the samemedia pane 105 or different media panes 105 can be selected andtransferred to a first project pane 110 and a second project pane 110.Segments of video can also be transferred between two project panes 110.The content of each project pane 105 can be saved as a separate finishedproject. In this manner, a user can work on one or more projectssimultaneously.

In some implementations, the panes of a user interface 100 can bedisplayed on the display device 1105 as disconnected from each other.The media pane 105, the project pane 110, and the preview pane 115 canbe displayed as separated from each other on the display device 1105.Each pane can be independently accessed, moved, and resized, based onuser input. Although the panes are displayed as disconnected, selectingsegments from the media pane 105, transferring segments to the projectpane 110, and preview of video in the media pane 105 or the project pane110 in the preview pane 115 can remain unaffected. Based on user input,two or more panes can be reconnected.

In some implementations, the media pane 105 can occupy the right half ofthe user interface and the project pane 110 and the preview pane 115 canoccupy the left half, or vice versa. The one or more video clips 100 canbe displayed in the media pane 105 as columns of thumbnail groups 203.The playhead can be displayed as a horizontal bar that appears when thecursor on the display device 1105 is placed over a thumbnail. Frames inthe thumbnail groups 203 can be previewed by scrubbing the playheadvertically over one or more thumbnails 205.

In some implementations, when one or more video clips 200 are uploadedinto a media pane 105 and displayed as one or more thumbnails 205, thetitle under which each video clip 200 is stored in the storage devicecan appear adjacent to the video clip 200. Further, depending on thenumber of thumbnails 205 across which each video clip 200 isdistributed, thumbnail numbers may appear adjacent to each thumbnail205. In other implementations, additional data representative of the oneor more video clips 200 may appear in the media pane 105.

In some implementations, when a segment of video content displayed inone or more thumbnails 205 in the media pane 105 is selected, theselected segment can be removed from display in the media pane 105.Alternatively, all segments of a thumbnail except the selected segmentcan be removed from display in the media pane 105. A user can provideinput to permanently delete the removed segments from the raw footage.Similarly, segments displayed in the project pane 110 can also beremoved from display.

In addition, the logic flows depicted in the figures do not require theparticular order shown, or sequential order, to achieve desirableresults. In addition, other steps may be provided, or steps may beeliminated, from the described flows, and other components may be addedto, or removed from, the described systems. Accordingly, otherimplementations are within the scope of the following claims.

1. (canceled)
 2. A computer-implemented method comprising: displaying,within a user interface in a digital media system, a media pane, and aproject pane; displaying, within the media pane, a thumbnailrepresenting at least a portion of a media item that includes aplurality of frames, the thumbnail bounded by a left edge and a rightedge, wherein each position in the thumbnail between the left edge andthe right edge corresponds to a frame of the plurality of frames;detecting a first selection of a starting position in the thumbnail,wherein the starting position is between the left edge and the rightedge; identifying a first frame of the plurality of frames thatcorresponds to the starting position; detecting a second selection of anending position in the thumbnail, wherein the ending position is betweenthe left edge and the right edge, and is different from the startingposition; identifying a second frame of the plurality of frames thatcorresponds to the ending position; identifying one or more positionsbetween the starting position and the ending position that correspond toone or more frames between the first frame and the second frame, whereinthe first frame, the second frame, and the one or more frames betweenthe first frame and the second frame collectively represent auser-defined segment of the at least the portion of the media item; andperforming an operation based on user input and using the user-definedsegment.
 3. The method of claim 2, wherein detecting the first selectionand detecting the second selection comprises: detecting a positioning ofa pointer on the starting position; and detecting a movement of thepointer over the one or more positions between the starting position andthe ending position to the ending position.
 4. The method of claim 3,further comprising displaying the pointer at the starting position as avertical line of length equal to a vertical dimension of the thumbnailin response to detecting the positioning of the pointer on the startingposition.
 5. The method of claim 2, wherein the ending position is tothe right of the starting position in the thumbnail.
 6. The method ofclaim 2, wherein the ending position is to the left of the startingposition in the thumbnail.
 7. The method of claim 2, further comprisinghighlighting the starting position, the one or more positions betweenthe starting position and the ending position, and the ending positionin response to detecting the first selection and detecting the secondselection.
 8. The method of claim 2, wherein performing an operationbased on user input and using the user-defined segment comprises:detecting input requesting to transfer the segment to the project pane;and in response to the input, transferring the selected segment to theproject pane.
 9. The method of claim 8, wherein detecting inputrequesting to transfer the user-defined segment to the project panecomprises: detecting a positioning of the pointer at a particularposition between the starting position, the one or more positionsbetween the starting position and the ending position, and the endingposition; and detecting a movement of the particular position from themedia pane to the project pane.
 10. The method of claim 8, furthercomprising displaying the user-defined segment in the project pane aftertransferring the user-defined segment to the project pane.
 11. Themethod of claim 10, wherein displaying the user-defined segment in theproject pane comprises displaying a thumbnail in the project pane,wherein positions in the thumbnail displayed in the project panecorrespond to frames included in the user-defined segment.
 12. Themethod of claim 11, further comprising displaying, in the thumbnaildisplayed in the project pane, a frame of the frames included in theuser-defined segment.
 13. A non-transitory computer-readable storagemedium storing computer software instructions executable by a computersystem to perform operations comprising: displaying, within a userinterface in a digital media system, a media pane, and a project pane;displaying, within the media pane, a thumbnail representing at least aportion of a media item that includes a plurality of frames, thethumbnail bounded by a left edge and a right edge, wherein each positionin the thumbnail between the left edge and the right edge corresponds toa frame of the plurality of frames; detecting a first selection of astarting position in the thumbnail, wherein the starting position isbetween the left edge and the right edge; identifying a first frame ofthe plurality of frames that corresponds to the starting position;detecting a second selection of an ending position in the thumbnail,wherein the ending position is between the left edge and the right edge,and is different from the starting position; identifying a second frameof the plurality of frames that corresponds to the ending position;identifying one or more positions between the starting position and theending position that correspond to one or more frames between the firstframe and the second frame, wherein the first frame, the second frame,and the one or more frames between the first frame and the second framecollectively represent a user-defined segment of the at least theportion of the media item; and performing an operation based on userinput and using the user-defined segment.
 14. The medium of claim 13,wherein detecting the first selection and detecting the second selectioncomprises: detecting a positioning of a pointer on the startingposition; and detecting a movement of the pointer over the one or morepositions between the starting position and the ending position to theending position.
 15. The medium of claim 14, further comprisingdisplaying the pointer at the starting position as a vertical line oflength equal to a vertical dimension of the thumbnail in response todetecting the positioning of the pointer on the starting position. 16.The medium of claim 13, wherein the ending position is to the right ofthe starting position in the thumbnail.
 17. The medium of claim 13,wherein the ending position is to the left of the starting position inthe thumbnail.
 18. The medium of claim 13, further comprisinghighlighting the starting position, the one or more positions betweenthe starting position and the ending position, and the ending positionin response to detecting the first selection and detecting the secondselection.
 19. The medium of claim 13, wherein performing an operationbased on user input and using the user-defined segment comprises:detecting input requesting to transfer the segment to the project pane;and in response to the input, transferring the selected segment to theproject pane.
 20. The medium of claim 19, wherein detecting inputrequesting to transfer the user-defined segment to the project panecomprises: detecting a positioning of the pointer at a particularposition between the starting position, the one or more positionsbetween the starting position and the ending position, and the endingposition; and detecting a movement of the particular position from themedia pane to the project pane.
 21. The medium of claim 19, furthercomprising displaying the user-defined segment in the project pane aftertransferring the user-defined segment to the project pane.
 22. Themedium of claim 21, wherein displaying the user-defined segment in theproject pane comprises displaying a thumbnail in the project pane,wherein positions in the thumbnail displayed in the project panecorrespond to frames included in the user-defined segment.
 23. Themedium of claim 22, further comprising displaying, in the thumbnaildisplayed in the project pane, a frame of the frames included in theuser-defined segment.